Release 10.1A: OpenEdge Getting Started:
Object-oriented Programming
Support for classes in the Progress 4GL
The goal of object-oriented programming support in the Progress 4GL is to extend the language to provide a cohesive and standard object-oriented programming model within Progress while continuing to fully support the programming model available in previous releases of OpenEdge. To this end, the Progress 4GL provides support for programming with classes in addition to, and together with, its support for programming with procedures. This object-oriented language support is a natural basis for writing applications that conform to the OpenEdge Reference Architecture (OERA) introduced with OpenEdge Release 10. For more information on the OERA, see OpenEdge Getting Started: OpenEdge Reference Architecture .
A class, like a procedure, contains or references data (state) and behavior that operates on that data. Thus, a common element between Progress procedures and classes is the ability to define objects. An object is a self-contained unit of code that encapsulates an instance of well-defined state and behavior.
In releases of OpenEdge prior to Release 10.1A, Progress persistent procedures allow you to create and manage objects in which most of the relationships between them are created and managed at run time. Progress classes, on the other hand, contain relationships that you create at compile time, which allows Progress to automate the management of these relationships at run time. Thus, unlike a persistent procedure, a class defines a well-structured type that Progress recognizes at compile time and that you, at run time, can realize as an object that behaves according to the definition of that type.
Classes, by definition, support a variety of object-oriented technologies that help to organize state and behavior in an application. The Progress language provides limited support for these object-oriented technologies with persistent procedures. The variables, buffers, temp-tables, and so on, defined in the main block of a persistent procedure, represent the object data, and the internal procedures and user-defined functions represent the object behavior. However some of the other standard object-oriented features are not supported in these previous releases.
The language enhancements for classes provide a complete set of object-oriented constructs that support all the standard behavior for programming with classes expected within the object-oriented development community. Anyone with an object-oriented programming background will feel comfortable programming with classes in Progress. Anyone who wants to learn about object-oriented programming can pick up any book on object-oriented programming and be able to apply the object-oriented concepts in that book using the 4GL syntax that supports classes.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |